草庐IT

Ruby bool 双重否定约定

全部标签

ruby-on-rails - Ruby/Rails - 用两个词命名的模型(命名约定问题)

这真的是一个关于命名约定的问题。我有一个名为PromotedEvents的模型该文件名为promoted_events.rb我创建了这个表:create_table:promoted_eventsdo|t|现在我在创建任何东西时都遇到了问题,所以我想知道使用带有两个词的模型是否存在问题我在控制台中尝试了a=PromotedEvents.newa=Promoted_Event.newa=promoted_event.new并不断收到nameerror:uninitializedconstant错误有什么想法吗? 最佳答案 你的类(cl

ruby - 这些 Ruby 命名空间约定之间有什么区别?

因此Module可以在Ruby中用于提供命名空间以及混入,如下所示:moduleSomeNamespaceclassAnimalendendanimal=SomeNamespace::Animal.new但我也看到了以下使用:moduleSomeNamespaceendclassSomeNamespace::Animalendanimal=SomeNamespace::Animal.new我的问题是它们有何不同(如果有的话)以及哪个更符合Ruby的习惯? 最佳答案 区别在于嵌套。在下面的示例中,您可以看到使用类Foo的前一种方法可以

Ruby 命名约定?

比如,对于常量,是不是:THIS_CONSTANTThis_ConstantThisConstant还是别的什么……?事实上,对于整个主题,是否有某种(准|)官方引用?我还希望能够快速复查以下问题:Ruby本身强制执行哪些命名模式(例如,Constant必须以大写开头,对吗?)哪些只是约定(method_name应该是蛇形的,对吧?)?对于如何在其名称中写入变量应该属于哪个类的提示,是否有任何约定?(“匈牙利表示法”或其他...我的意思是,我的印象是,如果您觉得有必要在Ruby代码中使用它,那您就做错了,但无论如何,是有约定吗?)等等…… 最佳答案

ruby-on-rails - Ruby gem 命名约定

我正在创建一个rubygem,我注意到似乎没有(据我所知)gem的命名约定。例如,我已经看到了:gem'foo-bar'gem'foo_bar'是否有某种关于ruby命名的权威指南/惯例? 最佳答案 虚线版本用于其他框架的扩展,例如rspec-rails,下划线用于普通gem名称的一部分,应在您的类中使用驼峰式命名。因此,如果您有一个名为foo_bar的gem,则该类/模块应命名为FooBar。如果那个gem应该有一个作为不同gem发布的rails扩展,它应该被称为foo_bar-rails并且该模块应该被称为FooBar::Rai

ruby-on-rails - 用于在多行上链接调用的 Ruby 约定

这是什么约定?我使用以下样式,但不确定它是否是首选样式,因为如果我在末尾漏掉一个点,我可能会在不知不觉中遇到很多问题。query=reservations_scope.for_company(current_company).joins{property.development}.group{property.development.id}.group{property.development.name}.group{property.number}.group{created_at}.group{price}.group{reservation_path}.group{company

ruby - Ruby 中的标准文件命名约定

对于包含给定类SomeCoolClass的文件,正确的或标准的文件名是什么?1.somecoolclass.rb2.some_cool_class.rb3.some-cool-class.rb4.SomeCoolClass.rb还是其他一些变体?我注意到在Rubystdlib中,使用了版本1、2和3。 最佳答案 只有Ruby(即不是Rails),命名只是一种约定。在Railsconvention使用下划线是必要的(几乎)。我认为约定#2lowercase_and_underscore.rb更常见,看起来也不错,尽管有一篇文章Here

ruby-on-rails - Ruby on Rails 复数( Controller )和单数(模型)约定 - 解释

根据RubyonRails惯例,Controller名称采用复数形式,而模型名称采用单数形式。示例:一个用户Controller,但是一个用户模型。railsgeneratecontrollerUsersrailsgeneratemodelUsername:stringemail:string现在打开迁移文件classCreateUsers这里的表名是复数(users)所以我的问题是-为什么表名是复数(用户),即使模型名称是单数(用户)? 最佳答案 RubyonRails遵循语言惯例。这意味着一个模型代表一个用户,而数据库表由许多用

JavaScript 约定 : How do you assign arguments to the parent scope

varproblemtest=function(){varparameters;returnfunction(parameters){parameters=parameters;}}varmysolutiontest=function(){varparameters;returnfunction(parametersIn){parameters=parametersIn;}}这更像是一个JavaScript约定问题。通常我在上面有类似的代码。函数接受参数并将其分配给父范围。但是,我不能像在problemtest中那样使用它,因为作为参数的parameters隐藏了problemtest

javascript - instanceof 的否定给出了意想不到的结果

这两种说法有什么区别?它们给出不同的输出(在googlechrome控制台中)。functionTest(){if(thisinstanceofTest){}else{returnnewTest();}}x=Test();测试{}functionTest(){if(!thisinstanceofTest){returnnewTest();}}x=Test();未定义头脑=困惑 最佳答案 问题是!在instanceof之前计算,因此它被视为:if((!this)instanceofTest){...}而且,无论!this是true还是

javascript - 输入和输出,如何使用它们来遵循 Angular 2 风格指南的命名约定?

在我了解之前,我曾经像这样定义我的指令:...inputs:['onOutside']...exportclassClickOutsideDirective{@Output()onOutside:EventEmitter=newEventEmitter();}但后来我阅读了风格指南,它说你不应该在输出前加上on前缀因为Angular2支持on-模板中的语法。所以我想把它改成这样:@Input()outsideClick:any;@Output()outsideClick:EventEmitter=newEventEmitter();但是,我发现很难将@Input分开名称来自Output